package com.vcc.service.service;

import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.vcc.data.entity.CardGroup;
import com.vcc.data.entity.Role;
import com.vcc.service.client.dto.cardGroup.UpdateCardGroupDto;
import com.vcc.service.client.vo.cardGroup.CardGroupVo;

import java.util.List;

public interface CardGroupService extends IService<CardGroup> {


    CardGroup initDefaultGroup(Long userId);

    Boolean existsByNameAndUserId(Long userId, String name);


    Page<CardGroupVo> clientPaging(Integer pageNumber, Integer pageSize, Role role, Long targetUserId, Long userId, String name, Integer status);

    Boolean update(UpdateCardGroupDto updateCardGroupDto, Long userId);


    List<CardGroupVo> listByName(Long userId, Role role, String name);

    List<CardGroupVo> listByName(Long userId, Role role, String name,Long targetUserId);

}
